//
//  CityDOCatchCrashVC.h
//  TestCrash
//
//  Created by CityDo on 2019/4/22.
//  Copyright © 2019 CityDo. All rights reserved.
//

#import <UIKit/UIKit.h>
#import "ViewController.h"
#import "CityDOCatchCrash.h"
#import "BSBacktraceLogger.h"
#include <libkern/OSAtomic.h>
#include <execinfo.h>
#import "HelperUtil.h"
#import "JDDeviceUtils.h"
#import "UIDevice+CityDOFCUUID.h"
#import "CityDOCrashConfig.h"



#ifdef DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"%s\n",[[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(...)
#endif

NS_ASSUME_NONNULL_BEGIN

@interface CityDOCatchCrashVC : UIViewController

+ (CityDOCatchCrashVC *)CityDOCatchStartWithAppId:(NSString *)appId;
+ (CityDOCatchCrashVC *)CityDOCatchStartWithAppId:(NSString *)appId config:( CityDOCrashConfig *)config;

+ (CityDOCatchCrashVC *)sharedInstance;

+ (void)setUserIdentifier:(nonnull NSString *)userId;
+ (void)setChannel:(nonnull NSString *)channel;

+ (void)relatedDataValue:(nonnull NSString *)value
          relatedDataKey:(nonnull NSString *)key;

+ (NSDictionary *)getCrashInfo;
+ (NSString *)getLogInfo;

+ (void)postExceptionMessage;
+ (void)postLogInfo;
+ (void)postLogInfo:(NSString *)url Data:(NSData *)data Dict:(NSDictionary *)dict;



@end

NS_ASSUME_NONNULL_END
